using System;
using System.ComponentModel;

namespace Locator.Silverlight.Client.Models.ProductsServiceReference
{
    public interface IProductsServiceAsync : IProductsService
    {
        void AddProductForCurrentUserAsync(int productId);
        event EventHandler<AsyncCompletedEventArgs> AddProductForCurrentUserCompleted;

        void DeleteProductForCurrentUserAsync(int ID);
        event EventHandler<AsyncCompletedEventArgs> DeleteProductForCurrentUserCompleted;

        void FindProductsContainingNameAsync(string name);
        event EventHandler<FindProductsContainingNameCompletedEventArgs> FindProductsContainingNameCompleted;

        void GetAllProductsAsync();
        event EventHandler<GetAllProductsCompletedEventArgs> GetAllProductsCompleted;

        void GetAllSubstancesAsync();
        event EventHandler<GetAllSubstancesCompletedEventArgs> GetAllSubstancesCompleted;

        void GetProductsForCurrentUserAsync();
        event EventHandler<GetProductsForCurrentUserCompletedEventArgs> GetProductsForCurrentUserCompleted;
    }
}